Zum Hauptinhalt springen

Tabellen (3)

Tabellen für Aufbau des Queries. Wird mit Selektionsvorlagen gearbeitet, wird dieser Teil normalerweise nicht verwendet, da die Selektionsdaten bereits das Grundgerüst enthalten.

Für diesen Schritt sind Datenbank-Kenntnisse erforderlich (faros-Schema und Progress-4GL bzw. OpenEdge ABL). Im Gegensatz zu SQL werden die Bedingungen fix von oben nach unten abgearbeitet. Wird OUTER-JOIN nicht angegeben handelt es sich um INNER-JOIN's.

alt text

WertBeschreibung
Gewählte DB-TabellenIn der Rubrik vorhandene Datenbasis werden alle möglichen Datenbank-Tabellen angezeigt und können mit Doppelklick oder Button alt textausgewählt werden. Wird eine Tabelle mehrmals angewählt, wird automatisch ein ALIAS-Name generiert in Form tabellenname__1, tabellenname__2, etc. (bis max. __9)
Mit dem Button alt text kann eine Tabelle wieder entfernt werden.
Die bereits mit der Selektionsvorlage ausgewählten Tabellen werden aus Gründen der Uebersichtlichkeit hier nicht angezeigt; ersichtlich sind sie jedoch im Folder Bedingungen (4).
Die ausgewählten Tabellen können mit den nachfolgend beschriebenen Buttons wie folgt bearbeitet werden:
alt textMarkierte Zeile nach oben verschieben
alt textMarkierte Zeile nach unten verschieben
alt textDieser Button wird nicht mehr unterstützt; deshalb ist er ausgeblendet
alt textDer JOIN zu der übergeordneten Tabelle wird automatisch generiert (aufgrund der Regeln von OpenEdge). Dies ist jedoch heikel; die Empfehlung ist, diese Funktion nur zu verwenden wenn Sie die Regeln verstanden haben. Es ist sicherer, die JOIN-Bedingung in der WHERE-Klausel eindeutig festzulegen
alt textNur zusammen mit OUTER-JOIN einsetzbar:
Die Bedingung ist erfüllt, wenn die Bedingung NICHT erfüllt ist. Dies ist eine Erweiterung von SYSE gegenüber der Original OpenEdge-Syntax und darf nur verwendet werden, wenn kein individueller Ausgabefilter bei der Subfunktion hinterlegt ist
alt textErster Record der Bedingung verwenden; Normalfall ausser bei erstem Record. Wird weder FIRST noch LAST gewählt, steht das für EACH (alle Records die Bedingung erfüllen, gibt zusammen mit JOIN eine Vervielfachung der Anzahl Records wenn Bedingung nicht eindeutig)
alt textLetzter Record; sonst analog zu Find first
alt textRecord muss nicht vorhanden sein; dies entspricht dem LEFT OUTER JOIN in SQL. In diesem Fall sind die entsprechenden Felder leer
alt textMarkierte Zeile zurücksetzen
PlatzhalterHier können Variable definiert werden, die erst bei der Ausführung erfasst werden können, um das Query zu steuern.

Syntax
Nr,Feldbezeichnung,Typ,oblig,Funkt,Checkprogramm, Codeart,Doku,Vorgabewert xx 9,9
Für leere Felder am Schluss können Kommas weggelassen werden.
Nr
(1. Feld)
Feld-Nummer (1-9) für Verwendung in Bedingungen
Feldbezeichnung (2. Feld)Dieser Text wird im Startbild angezeigt
Typ
(3. Feld)
Feldtyp, muss vorhanden sein
INTZahl ohne Dezimalstellen
DECIDezimalzahl
CHARBeliebiges Zeichen
DATEDatum
LOGLogisches Feld (Y,J,S,O,True,Yes für Ja und N,No,False für Nein)

Die Eingabe wird auf Gültigkeit überprüft.
oblig
(4. Feld)
oblig wenn Feld obligatorisch ist, sonst leer
Funkt
(5. Feld)
Funktion gemäss nachfolgender Liste. Dies steuert Eingabehilfen
DTAWAuswahl-Möglichkeit mit Funktion DTAW
ORTAuswahl via PLZ-Stamm (Ort)
PLZAuswahl via PLZ-Stamm (PLZ)
AWLGAuswahl via Liegenschaftsstamm (Verträger-Nr)
VLOBAuswahl via Objektstamm
VLOBMFAuswahl via Objektstamm mit Mehrfachauswahl
ADRWAuswahl via Adressverwaltung (BezNr)
CODNAuswahl via Codetabelle (siehe auch 6. und 7. Feld)
CODNMFAuswahl via Codetabelle mit Mehrfachauswahl
AWABAuswahl via Abo-Verwaltung (Vorgnr)
AWMSAuswahl via Abo-Kategorie (Merkmalart, Merkmal 1,2,3)
KALAuswahl via Kalender
KALSAuswahl via Kalender oder mit Schlüsselwörter:
Erlaubte Schlüsselwörter:
FIRSTDAY_CURRMONTH = Erster Tag des aktuellen Monats
FIRSTDAY_CURRYEAR = Erster Tag des aktuellen Jahres
FIRSTDAY_NEXTMONTH = Erster Tag des nächsten Monats
FIRSTDAY_NEXTYEAR = Erster Tag des nächsten Jahres
FIRSTDAY_PREVMONTH = Erster Tag des vorhergehenden Monats
FIRSTDAY_PREVYEAR = Erster Tag des vorhergehenden Jahres
FIRSTDAY_WEEK = Erster Wochentag
LASTDAY_CURRMONTH = Letzter Tag des aktuellen Monats
LASTDAY_CURRYEAR = Letzter Tag des aktuellen Jahres
LASTDAY_NEXTMONTH = Letzter Tag des nächsten Monats
LASTDAY_NEXTYEAR = Letzter Tag des nächsten Jahres
LASTDAY_PREVMONTH = Letzter Tag des vorhergehenden Monats
LASTDAY_PREVYEAR = Letzter Tag des vorhergehenden Jahres
TODAY = Tagesdatum

PS: Es können auch + / - Anzahl Tage angegeben werden
z.B. FIRSTDAY_PREVMONTH-1
Checkprogramm
(6. Feld)
Gewünschtes Prüfprogramm für Parameter (aktuell nur ein Programm vorhanden):
checkcode.p Prüfen mit Codeverwaltung
Codeart
(7. Feld)
Bei Funktion CODN und CODNMF: gewünschte Codetabelle
Doku
(8. Feld)
Uebernehmen Platzhalter in Titeltext bei SYMT und SYPR :
V = Vor Titeltext
N = Nach Titeltext
leer = nicht übernehmen
Wichtig: In der Funktion PMAW muss bei Formular PROTOKOL im Feld Protokoll-Titel mind. der Paramater #T# angewählt sein (sonst wird kein Titel angezeigt)
Vorgabewert
(9. Feld)
Vorgabewert für Ausführung; kann bei Ausführung noch überschrieben werden
Spezialfall: TODAY = Tagesdatum

Dieser Parameter sollte nur noch bei Selektionsvorlagen verwendet werden; in SYSE ist die nachfolgend beschriebene Variante besser geeignet
xxVorgabewerte für Platzhalter im Anschluss an Eintrag in. Dieser Eintrag überschreibt auch allfällige Werte aus der Selektionsvorlage xx
Vorgabewert für Ausführung; kann bei Start der Verarbeitung aber überschrieben werden.
xx Vorgabewert für Ausführung; dieser Wert kann bei Start der Verarbeitung nicht verändert werden (Feld ist insensitive).
[9,9]Es kann ein Gültigkeitsbereich in eckigen Klammern erfasst werden, damit nur ein bestimmter Bereich erfasst werden kann.

[von,bis]
bei Datentyp INT, DECI und CHAR:
untere und obere Limite des Feldes

bei Datentyp DATE:
Abweichung von Tagesdatum zurück bzw. im Voraus; es wird kein Vorzeichen angegeben.
Beispiel:
[5,60] bedeutet, dass alle Datum heute-5 bis heute+60 Tage akzeptiert werden.